package com.ruoyi.common.distributeLock.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author gim 2023/4/18 16:14
 * 分布式锁的统一注解
 */
@Target({ElementType.METHOD} )
@Retention(RetentionPolicy.RUNTIME)
public @interface DistributeLock {
    /**
     * zookeeper
     * redis
     * @return
     */
    String type() default "redis";

    /**
     * 锁的key值，一般是方法+资源名
     * @return
     */
    String key() default "lock";

    /**
     * 单位：毫秒
     * @return
     */
    long lockTime() default 30*1000l;


}
